home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
PInterfaces
/
PCICommonPlugin.p
< prev
next >
Wrap
Text File
|
1996-05-01
|
3KB
|
129 lines
{
File: PCICommonPlugin.p
Contains: This file contains all interface related structures and prototypes common for pci expert to
Version: Technology: Copland
Release: Universal Interfaces 3.0d3 on Copland DR1
Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
Bugs?: If you find a problem with this file, send the file and version
information (from above) and the problem description to:
Internet: apple.bugs@applelink.apple.com
AppleLink: APPLE.BUGS
}
{$IFC UNDEFINED UsingIncludes}
{$SETC UsingIncludes := 0}
{$ENDC}
{$IFC NOT UsingIncludes}
UNIT PCICommonPlugin;
INTERFACE
{$ENDC}
{$IFC UNDEFINED __PCICOMMONPLUGIN__}
{$SETC __PCICOMMONPLUGIN__ := 1}
{$I+}
{$SETC PCICommonPluginIncludes := UsingIncludes}
{$SETC UsingIncludes := 1}
{$IFC UNDEFINED __TYPES__}
{$I Types.p}
{$ENDC}
{$IFC UNDEFINED __NAMEREGISTRY__}
{$I NameRegistry.p}
{$ENDC}
{$IFC UNDEFINED __ERRORS__}
{$I Errors.p}
{$ENDC}
{$IFC UNDEFINED __DRIVERFAMILYMATCHING__}
{$I DriverFamilyMatching.p}
{$ENDC}
{$IFC UNDEFINED __INTERRUPTS__}
{$I Interrupts.p}
{$ENDC}
{$PUSH}
{$ALIGN MAC68K}
{$LibExport+}
{$IFC FOR_SYSTEM8_PREEMPTIVE }
{ typedefs for common plugins interface }
TYPE
DefaultEnablerFuncPtr = ProcPtr; { PROCEDURE DefaultEnablerFuncPtr(setIDMember: InterruptSetMember; refCon: UNIV Ptr); C; }
DefaultDisablerFuncPtr = ProcPtr; { FUNCTION DefaultDisablerFuncPtr(setIDMember: InterruptSetMember; refCon: UNIV Ptr): ByteParameter; C; }
DefaultDispatcherFuncPtr = ProcPtr; { FUNCTION DefaultDispatcherFuncPtr(setIDMember: InterruptSetMember; info: UNIV Ptr; theIntCount: UInt32): InterruptMemberNumber; C; }
InitializeFuncPtr = ProcPtr; { FUNCTION InitializeFuncPtr: OSStatus; C; }
FinalizeFuncPtr = ProcPtr; { FUNCTION FinalizeFuncPtr: OSStatus; C; }
PCIPluginHeaderPtr = ^PCIPluginHeader;
PCIPluginHeader = RECORD
version: UInt32;
reserved1: UInt32;
reserved2: UInt32;
reserved3: UInt32;
thisPluginLoadID: PluginLoadID;
END;
{ pci bridge descriptor definition }
PCIBridgeDescriptorPtr = ^PCIBridgeDescriptor;
PCIBridgeDescriptor = RECORD
InterfaceHeader: PCIPluginHeader;
TheDomainDriverDescription: DriverDescriptionPtr;
DefaultBridgeEnablerFunc: DefaultEnablerFuncPtr;
DefaultBridgeDisablerFunc: DefaultDisablerFuncPtr;
DefaultBridgeDispatcherFunc: DefaultDispatcherFuncPtr;
FinalizeFunc: FinalizeFuncPtr;
END;
{
pci bridge variables for bridges
stolen from marconi InterruptsAssign.c written by Matt Nelson
}
DefaultBridgeVariablesPtr = ^DefaultBridgeVariables;
DefaultBridgeVariables = RECORD
lastEntryIntCount: UInt32;
lastServicedMember: InterruptMemberNumber;
totalMembersScanned: UInt32;
totalMemberCount: UInt32;
memberEnableFlags: Ptr;
END;
{ pci header interface version definition }
CONST
kPCIPluginVersion1000 = $01000000; { initial pci family interface release }
{ pci error codes }
kPCIerrorNoError = 0;
kPCIerrorNoDeviceFound = -2538;
kPCIerrorNoDomainFound = -192;
kPCIerrorBadPointerFound = -346;
kPCIerrorBadValueFound = -2422;
kPCIerrorBadRegPropertyFound = -2539;
kPCIerrorNoNotificationProduced = -192;
kPCIerrorMemoryAllocationFailed = -2537;
kPCIerrorUnsupportedPluginVersion = -2405;
kPCIerrorFatal = -2499;
{$ENDC}
{$ALIGN RESET}
{$POP}
{$SETC UsingIncludes := PCICommonPluginIncludes}
{$ENDC} {__PCICOMMONPLUGIN__}
{$IFC NOT UsingIncludes}
END.
{$ENDC}